//
//  MainTabBar.swift
//  SinaWeibo
//
//  Created by Tony-ztb on 15/12/12.
//  Copyright © 2015年 Tony-ztb. All rights reserved.
//

import UIKit

class MainTabBar: UITabBar {

    // 重写父类构造方法
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        // 添加自定义加号tabbarButton到父视图
        addSubview(composeBtn)
    }
// 上面实现了init(frame)的方法,意味着当前这个类默认支持手码创建,不支持xib/sb创建
    required init?(coder aDecoder: NSCoder) {
//        fatalError("init(coder:) has not been implemented")
        // 既支持手码创建,也支持xib/sb创建
        super.init(coder: aDecoder)
        addSubview(composeBtn)
    }
    
    // 在这个方法中设置所有子视图的frame
    override  func layoutSubviews() {
        super.layoutSubviews()
        
        // 修改所有的tabbarButton的frame
        let w = self.bounds.width / 5
        let h = self.bounds.height
        let rect = CGRect(x: 0, y: 0, width: w, height: h)
        
        // 定义索引
        var index: CGFloat = 0
        // 遍历所有的按钮修改大小
        for subview in subviews {
            // 判断subview是不是UITabBarButton类
            if subview.isKindOfClass(NSClassFromString("UITabBarButton")!) {
                // 设置tabbarButton位移的大小
                subview.frame = CGRectOffset(rect, w * index, 0)
                
//                if index==1 {
//                    index++
//                }
//                
//                index++
                
                // 如果到下标为1的index 则加2
                index += (index == 1) ? 2 : 1
            }
        }
        // 加号tabbarButton的frame位置
        composeBtn.frame = CGRectOffset(rect, w * 2, 0)
        // 使子视图到前面
        bringSubviewToFront(composeBtn)
        
    }
    
    
    // 懒加载  加号tabbarButton
    lazy var composeBtn: UIButton = UIButton(imageName: "tabbar_compose_icon_add", backImageName: "tabbar_compose_button")
 
    
}
